#ifndef PURG_RANDOM_VARIABLE_H
#define PURG_RANDOM_VARIABLE_H

#ifndef PURG_C_INTERFACE_COMPILE
namespace purg
{
#endif

  template <typename VARTYPE , typename GENTYPE>
  class random_variable
  {
    public:
      typedef VARTYPE    variable_type;
      typedef GENTYPE    generator_type;

    protected:
      GENTYPE  &_generator;
      VARTYPE   _low;
      VARTYPE   _high;

    public:
      random_variable ( VARTYPE low , VARTYPE high , GENTYPE & generator );
     ~random_variable ();

      operator VARTYPE ();

  };

#ifndef PURG_C_INTERFACE_COMPILE
}
#endif

#include "random_variable.tmpl.h"
#endif
